﻿namespace ComplexAlloysVisualisation
{
    /// <summary>
    /// Represents a single atom
    /// </summary>
    public class Atom
    {
        /// <summary>
        /// relative value of x in -0.5 < x < 0.5
        /// </summary>
        public double X { get; set; }

        /// <summary>
        /// relative value of y in -0.5 < y < 0.5
        /// </summary>
        public double Y { get; set; }

        /// <summary>
        /// relative value of z in -0.5 < z < 0.5
        /// </summary>
        public double Z { get; set; }

        public int UnitCellLength { get; set; }

        public int PositionNumber { get; set; }

        /// <summary>
        /// defines atom type e.g. Mg
        /// </summary>
        public string AtomType { get; set; }

        //TODO: change name
        public double Prob { get; set; }

        /// <summary>
        /// Probabilty of vacacy of current atom
        /// </summary>
        public double VacancyProbability { get; set; }

        /// <summary>
        /// Probability of Aluminium of current atom
        /// </summary>
        public double AluminiumProbability { get; set; }

        /// <summary>
        /// Probabilty of Magnesium of current atom
        /// </summary>
        public double MagnesiumProbability { get; set; }

        /// <summary>
        /// Use to convert position to real values
        /// </summary>
        public static readonly double ToAngstrom = 28.239;
    }
}